package entity.Encomienda;

import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import dto.Encomienda.DTO_Trayecto;


@Entity
@Table(name="Trayecto")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn( name="tipo",
	discriminatorType=DiscriminatorType.STRING)
@DiscriminatorValue(value="TR")
public class Entity_Trayecto {
	@Id
	@GeneratedValue (strategy = GenerationType.AUTO)
	private Integer id;
	@ManyToOne
	@JoinColumn(name="idHojaRuta")
	private Entity_HojaDeRuta hojaRuta;
	private float distanciaKM;
	private float tiempoDias;
	private String descripcion;
	public Entity_Trayecto() {

	}
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public Entity_HojaDeRuta getHojaRuta() {
		return hojaRuta;
	}
	public void setHojaRuta(Entity_HojaDeRuta hojaRuta) {
		this.hojaRuta = hojaRuta;
	}
	public float getDistanciaKM() {
		return distanciaKM;
	}
	public void setDistanciaKM(float distanciaKM) {
		this.distanciaKM = distanciaKM;
	}
	public float getTiempoDias() {
		return tiempoDias;
	}
	public void setTiempoDias(float tiempoDias) {
		this.tiempoDias = tiempoDias;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	
	
	public DTO_Trayecto toDTO() {
		DTO_Trayecto t = new DTO_Trayecto();
		t.setId(this.getId());
		t.setDistanciaKM(this.getDistanciaKM());
		t.setTiempoDias(this.getTiempoDias());
		t.setDescripcion(this.getDescripcion());
		return t;
	}
}
